<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>路由中参数的传递</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
1.传统方式传递参数：URL 中通过 ? 拼接参数
    在组件中获取参数：通过 this.$route.query.参数名 来获取参数的值；
2.restful方式传递参数：通过使用路径方式传递参数
    在组件中获取参数：通过 this.$route.params.参数名 来获取参数；
<div id="app">
    <!--传统方式传递参数：URL 中通过 ? 拼接参数-->
    <router-link to="/login?id=1001&username=张三">我要登录</router-link>
    <!--restful方式传递参数：通过使用路径方式传递参数-->
    <router-link to="/register/1002/李四">我要注册</router-link>

    <router-view></router-view>
</div>
<script>
    //1.定义组件
    let login = {
        template:'<h1>用户登录，{{this.$route.query.username}}欢迎回来</h1>',
        created(){
            //获取传递的参数(传统方式)
            console.log("id="+this.$route.query.id);
            console.log("username="+this.$route.query.username);
        }
    }
    let register = {
        template: '<h1>用户注册，{{this.$route.params.username}}正在注册</h1>',
        created() {
            //获取传递的参数(restful)
            console.log("id="+this.$route.params.id);
            console.log("username="+this.$route.params.username);
        }
    }

    //2.定义路由
    let router = new VueRouter({
        routes:[
            {path: '/',redirect:'/login'},
            {path:'/login',component:login},
            {path: '/register/:id/:username',component: register}//restful方式
        ]
    });

    let app = new Vue({
        el: '#app',
        data: {},
        methods: {},
        router: router
    });
</script>
</body>
</html>